Platform Explorer / Nuxeo Platform 2023.20

Extension point configuration

Documentation

Defines migrations:

    <migration id="my_migration">
        <description label="my_migration">My Migration</description>
        <state id="v1">
            <description label="my_migration.state.v1">Initial state</description>
        </state>
          ... other states ...

          <step
            fromState="v1" id="first" toState="v2">
            <description label="my_migration.step.first">First step of the migration, from v1 to v2</description>
            <class>my.class.Migratorv1v2</class>
        </step>
          ... other steps ...
        </migration>

The migrator class for each step must implement Runnable.

Contribution Descriptors

  • Class: org.nuxeo.runtime.migration.MigrationDescriptor

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-core-2023.20.15.jar /OSGI-INF/trash-migration.xml
    <extension point="configuration" target="org.nuxeo.runtime.migration.MigrationService">
    
        <migration id="trash-storage">
          <description label="migration.trash-storage">Migration of in the trash storage model</description>
          <class>org.nuxeo.ecm.core.trash.TrashedStateMigrator</class>
          <defaultState>property</defaultState>
          <state id="lifecycle">
            <description label="migration.trash-storage.lifecycle">Trashed state stored as deleted lifecycle state</description>
          </state>
          <state id="property">
            <description label="migration.trash-storage.property">Trashed state stored as system property</description>
          </state>
    
          <step fromState="lifecycle" id="lifecycle-to-property" toState="property">
            <description label="migration.trash-storage.lifecycle-to-property">Migrate trashed state from lifecycle to property</description>
          </step>
        </migration>
    
      </extension>
  • nuxeo-core-storage-dbs-2023.20.15.jar /OSGI-INF/dbs-blob-keys-migration.xml
    <extension point="configuration" target="org.nuxeo.runtime.migration.MigrationService">
    
        <migration id="blob-keys-migration">
          <description label="migration.dbs.blob.keys">Populate ecm:blobKeys property</description>
          <class>org.nuxeo.ecm.core.storage.dbs.BlobKeysBulkMigrator</class>
          <defaultState>unsupported</defaultState>
          <state id="unsupported">
          </state>
          <state id="empty">
            <description label="migration.dbs.blob.keys.empty">ecm:blobKeys is not populated</description>
          </state>
          <state id="populated">
            <description label="migration.dbs.blob.keys.populated">ecm:blobKeys is populated</description>
          </state>
    
          <step fromState="empty" id="empty-to-populated" toState="populated">
            <description label="migration.dbs.blob.keys.empty-to-populated">Populate ecm:blobKeys property</description>
          </step>
        </migration>
    
      </extension>
  • nuxeo-platform-comment-2023.20.15.jar /OSGI-INF/comment-migration.xml
    <extension point="configuration" target="org.nuxeo.runtime.migration.MigrationService">
    
        <migration id="comment-storage">
          <description label="migration.comment-storage">Migration of the comment storage model</description>
          <class>org.nuxeo.ecm.platform.comment.impl.CommentsMigrator</class>
          <defaultState>secured</defaultState>
          <state id="relation">
            <description label="migration.comment-storage.relation">Comments stored as relations</description>
          </state>
          <state id="property">
            <description label="migration.comment-storage.property">Comments stored with their parent id as property
            </description>
          </state>
          <state id="secured">
            <description label="migration.comment-storage.secured">Comments stored under the commented document
            </description>
          </state>
    
          <step fromState="relation" id="relation-to-property" toState="property">
            <description label="migration.comment-storage.relation-to-property">Migrate comments from relations to the
              parent id property usage
            </description>
          </step>
          <step fromState="property" id="property-to-secured" toState="secured">
            <description label="migration.comment-storage.property-to-secured">Migrate comments under the commented document
            </description>
          </step>
        </migration>
    
      </extension>